上週把強大的Dapper裡面最常用到的查詢寫完, 今天要來把剩下的紀錄完畢
好快
一樣先來新舊對照, 增刪改使用OleDb的寫法跟查詢差不多, 一些必要的設定都要寫完整
// 宣告連線字串
private string connstr = WebConfigurationManager.ConnectionStrings["oracledbconn"].ConnectionString;
// 宣告OleDb連線 並帶入連線字串
OleDbConnection oleDbConnection = new OleDbConnection(connstr);
// 宣告OleDb命令集
OleDbCommand oleDbCommand = new OleDbCommand();
oleDbCommand.CommandType = CommandType.Text;
oleDbCommand.CommandText = "INSERT INTO Employees (EmpID, EmpName) VALUES (:EmpID, :EmpName)"; // 設定SQL字串 (刪除修改在程式碼上都一樣, 把SQL語法替換就好)
oleDbCommand.Parameters.AddWithValue("EmpID", empid);
oleDbCommand.Parameters.AddWithValue("EmpName", empname);
oleDbCommand.Connection = oleDbConnection; // 設定連線
// 開始對資料庫存取 並將資料新增到資料表
oleDbConnection.Open();
int result = oleDbCommand.ExecuteNonQuery();
oleDbConnection.Close();
雖然比起查詢少了很多行, 但用了一堆的類別(class
)一樣看了就頭痛阿
再來看看強大的Dapper的寫法, 跟查詢時大同小異
using (OleDbConnection oleDbConnection = new OleDbConnection(connstr))
{
string querystr = "INSERT INTO Employees (EmpID, EmpName) VALUES (:EmpID, :EmpName)";
int result = oleDbConnection.Execute(querystr, new {
EmpID = empid,
EmpName = empname
});
}
以上是開發時最常使用的存取資料庫方法, 只要會增刪改查就很夠用了, 比較深入一點會使用到對Stored Procedure
的呼叫等等, 有遇到再來這研究吧~
基本上Dapper在增刪改查的動作要除錯時, 只要程式語法沒下錯, 就只要注意兩個地方:
最常遇到就是這兩個
如果抓到資料庫連線有問題, 有50趴機率是自己手殘把連線字串寫錯, 另外50趴是對資料庫連線失敗
如果抓到是執行SQL有問題, 那100趴保證是自己手殘, 不是SQL寫錯就是參數沒帶
以上是除錯經驗談xD
再來來談談Dapper的優缺點
優點的部分, 基本上在上一篇有談到就是維基百科:Dapper_ORM上面的特色
其他我自己認為的優點就是 完美
無
不嘴砲, 真的很好用, 不相信的趕快去用看看
這禮拜感覺篇幅有點少R, 最後來預告一下順便衝字數
下一篇一樣是來紀錄開發上有在使用的套件, 前端的表格套件DataTables
敬請期待